
#pragma once

#include "Emitter.h"
#include "../SGD Wrappers/tinyxml.h"
#include <map>
#include <string>
#include <iostream>
using namespace std;

class ParticleFactory
{
	//Emitter *emitter;
	std::map<string, Emitter> emitterMap;
public:
	static ParticleFactory * GetInstance(void);

	bool loadEmitter(const char* filename);
	void saveEmitter(const char* filenpath);


	void Update(float fElapsedTime);
	void Render();
	void Enter();
	void Exit();
	Emitter CreateEmitter(string name);

private:
	ParticleFactory(void);
	ParticleFactory(const ParticleFactory &);
	ParticleFactory& operator = (ParticleFactory &);
	~ParticleFactory(void);
};

